const express = require('express')
const router = express.Router()
const Introduce = require('../../modules/introduce')
const passport = require('passport')
const Contact = require('../../modules/contact')
const Feedback = require('../../modules/feedback')
//passport.authenticate('jwt', { session: false }) 因为是私有接口 
// 所以请求的时候需要进行token验证 这条就是做token验证的,会跳到passport.js模块中去进行验证
/*
查询平台简介信息
 */
router.get('/introduce', (req, res) => {
    Introduce.find()
        .then(introduce => {
            if (!introduce) {
                res.status(404).json('未能查询到用户数据')
            } else {
                res.json(introduce)
            }
        })
        .catch(err => res.status(404).json(err))
})
//查看联系信息
router.get('/contact',  (req, res) => {
  Contact.find()
      .then(introduce => {
          if (!introduce) {
              res.status(404).json('未能查询到用户数据')
          } else {
              res.json(introduce)
          }
      })
      .catch(err => res.status(404).json(err))
})
/*
更新平台简介信息
 */
router.post('/introduce', passport.authenticate('jwt', { session: false }), (req, res) => {
    // 值: 1查询条件 2 更新的内容 3 true返回更新后的值 false返回更新前的值
    Introduce.updateOne({ _id: req.query.id }, req.body)
        .then(data => {
            if (!data) {
                res.status(404).json('更新数据失败')
            } else {
                res.json({code:1,msg:'更新数据成功'})
            }
        })
        //res.status(404).json(err)
        .catch(err => res.status(404).json(err))
})
//更新联系信息
router.post('/contact', passport.authenticate('jwt', { session: false }), (req, res) => {
  // 值: 1查询条件 2 更新的内容 3 true返回更新后的值 false返回更新前的值
  Contact.updateOne({ _id: req.query.id }, req.body)
      .then(data => {
          if (!data) {
              res.status(404).json('更新数据失败')
          } else {
              res.json({code:1,msg:'更新数据成功'})
          }
      })
      //res.status(404).json(err)
      .catch(err => res.status(404).json(err))
})
/*
获取留言信息
 */
router.get('/feedback', (req, res) => {
  let page = req.query.page;
  let limit = req.body.pageSize || 10;
  Feedback.find({},function (err, data) {
    if(err) return res.status(500).json({
        result: 1,
        error_info: '请求失败！'
    })
    let count = data.length
    Feedback.find({}).skip((page - 1)*parseInt(limit)).limit(parseInt(limit)).exec(function (err, data) {
        if(err) return res.status(500).json({
            result: 1,
            error_info: '服务器繁忙，请稍后重试！'
        })
        return res.status(200).json({
            result:0,
            message:'请求成功',
            total: count,
            data: data
        })
    })
})
})
//添加留言信息
router.post('/feedback/add', (req, res) => {
  // 值: 1查询条件 2 更新的内容 3 true返回更新后的值 false返回更新前的值
  new Feedback(req.body).save()
      .then(data => {
          if (!data) {
              res.status(404).json('添加数据失败')
          } else {
              res.json({code:1,msg:'添加数据成功'})
          }
      })
      //res.status(404).json(err)
      .catch(err => res.status(404).json(err))
})
//删除留言信息
router.delete('/feedback/delete', passport.authenticate('jwt', { session: false }), (req, res) => {
  
  Feedback.deleteOne({_id:req.query.id},function (err, data) {
    if(err) return res.status(500).json({
        result: 1,
        error_info: '删除失败！'
    })
    res.status(200).json({
      result: 0,
      error_info: '删除成功！'
  })
   
})
})
module.exports = router